package com.rent.dao;
/**
 * 订单接口
 * @author xin
 *
 */

import java.util.List;

import com.rent.bean.Car;
import com.rent.bean.Rent;
import com.rent.bean.User;

public interface RentDao {
	/**
	 * 查询订单
	 * @param 用户信息
	 * @return
	 */
	List<Rent> sele(User u);
	/**
	 * 添加租赁订单
	 * @param r
	 * @return
	 */
	int add(Rent r);
	/**
	 * 根据用户名称查询租赁中的车辆
	 * @param uname 用户名称·
	 * @return
	 */
	List<Rent> seleByUname(String uname,int status);
	/**
	 * 查询用户订单
	 * @param uname
	 * @param status
	 * @return
	 */
	List<Rent> seleStatusByUname(String uname);
	/**
	 * 修改用户的状态
	 * @param uname
	 * @param status
	 * @return
	 */
	int updateStatusByUname(Rent r);
	/**
	 * 取消订单
	 * @param r
	 * @return
	 */
	int cancel(Rent r);
	/**
	 * 修改订单
	 * @param r
	 * @return
	 */
	int rentCar(Rent r);
	/**
	 * 
	 * @param r
	 * @return
	 */
	int rentUpdateRtime(Rent r);
	/**
	 * 展示全部订单
	 * @return
	 */
	List<Rent> seleAll();
	/**
	 * 根据用户名查询租赁信息
	 * @param uname
	 * @return
	 */
	List<Rent> seleByUname(String uname);
	/**
	 * 查看押金没有退还的租赁信息
	 * @param uname
	 * @return
	 */
	List<Rent> seleDeposit(String uname);
	/**
	 * 根据编号查询租赁信息
	 * @param id
	 * @return
	 */
	Rent seleById(int id);
	/**
	 * 汽车押金
	 * @param r
	 * @return
	 */
	int updateCarDeposit(Rent r);
	/**
	 * 违章押金
	 * @param r
	 * @return
	 */
	int updateViolationDeposit(Rent r);
	/**
	 * 汽车押金描述
	 * @param desc
	 * @return
	 */
	int updateCarDepositDescribe(Rent r);
	/**
	 * 违章押金描述
	 * @param desc
	 * @return
	 */
	int updateViolationDepositDescribe(Rent r);
	/**
	 * 查询今天的订单数量
	 * @return
	 */
	int seleToDay();
	/**
	 * 查询这个月的订单数量
	 * @return
	 */
	int seleToMonth();
	
	int seleSumMoney();
	
	List<Rent> seleByTime(String startTime, String endTime);
	List<Rent> seleByStatus(int status);
	
	double seleToMonthMoney();
	double seleToDayMoney();
}

